﻿///////////////////////////////////////////////////////////////////////////
/// File: <FileName>
/// Description: 
///    -  本文件是由代码生成工具自动生成的，如非必要，不要修改，若有新增内容，新建一个partial类进行新增。
///    - CRUD授权过程：1. C,U操作要检查输入的数据是否符合授权。
///                    2. R操作要先读出目标数据，然后检查数据是否符合授权。
///                    3. D操作要先进行R操作过滤，判断输入数据是否符合授权，然后只执行符合授权的删除，忽略不符合授权的操作。
///                       为了保存程序的简洁和数据库执行效率，R过滤可以在Sql中完成。
///    <Description>
/// Copyright© <DateTime.Now.Year> <Copyright>
/// History:
///     <DateTime.Now>    My.GenCode    Original Version
///////////////////////////////////////////////////////////////////////////

using System;
using System.Collections.Generic;
using System.Security.Permissions;
using System.Security;
using System.Threading;
using MAF.Common;
using <NameSpace>.Domain.Entities;
using <NameSpace>.Domain.Interfaces;

namespace <NameSpace>.Business.Security
{
    public partial class <ClassName> : <InterfaceName>
    {
        // 构造函数
        public <ClassName>(<InterfaceName> thisObj)
        {
            _This = thisObj;
        }
        
        #region <InterfaceName>成员
        
        /// <summary>
        /// <CreateMethodName>
        /// </summary>
        public <CreateMethodSign>
        {
            // 权限判断
            if( Thread.CurrentPrincipal.IsInRole("") )
            {   ;   }
            else
            {    throw new SecurityException("权限不足");   }
            
            return _This.<CreateMethodName>(info);
        }
        
        /// <summary>
        /// <UpdateMethodName>
        /// </summary>
        public <UpdateMethodSign>
        {
            // 权限判断
            if( Thread.CurrentPrincipal.IsInRole("") )
            {   ;   }
            else
            {    throw new SecurityException("权限不足");   }
            
            return _This.<UpdateMethodName>(info);
        }
        
        /// <summary>
        /// <DeleteMethodName>
        /// </summary>
        public <DeleteMethodSign>
        {
            // 权限判断
            if( Thread.CurrentPrincipal.IsInRole("") )
            {   ;   }
            else
            {    throw new SecurityException("权限不足");   }
            
            return _This.<DeleteMethodName>(info);
        }
        
        /// <summary>
        /// <ReadDetailMethodName>
        /// </summary>
        public <ReadDetailMethodSign>
        {
            // 权限判断
            if( Thread.CurrentPrincipal.IsInRole("") )
            {   ;   }
            else
            {    throw new SecurityException("权限不足");   }
            
            info = _This.<ReadDetailMethodName>(info);
            return info;
        }
        
        /// <summary>
        /// <ReadListMethodName>
        /// </summary>
        public <ReadListMethodSign>
        {
            // 权限判断
            if( Thread.CurrentPrincipal.IsInRole("") )
            {   ;   }
            else
            {    throw new SecurityException("权限不足");   }
            
            return _This.<ReadListMethodName>(info,pageSize,currentPage);
        }
        
        /// <summary>
        /// <ReadCountMethodName>
        /// </summary>
        public <ReadCountMethodSign>
        {
            return _This.<ReadCountMethodName>( info );
        }
        
        #endregion 
        
        #region Private Member
        private <InterfaceName> _This = null;
        #endregion
             
    }
}
    
